/*
 * VentCreaInv.java
 *
 * Created on 7 de mayo de 2008, 12:57 PM
 */

package administrador;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.sql.*;
/**
 *
 * @author  Usuario
 */
public class VentCreaInv extends javax.swing.JFrame {
 Conexion conexion;
 Inventario uadmin;
 String fecha;
 int bodega;
 int numeroInventario=0;
    /** Creates new form VentCreaInv */
    public VentCreaInv(Conexion c,Inventario ua,int bodega) {
        this.bodega=bodega;
        uadmin=ua;
        uadmin.refrescar();
        conexion=c;
        initComponents();
        nuevoCodigo();
        setBounds(100,100,420,234);
        this.setVisible(true);
        
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
        lbl_fecha.setText(fecha);
       
    }
    
    
     public void nuevoCodigo(){
        try{
            ResultSet r=conexion.consultarBase("select MAX(idInventario) from inventario");
            r.next();
            numeroInventario=r.getInt(1)+1;
            System.out.println("Numero Inventario Generado: "+numeroInventario);
            lbl_cod.setText(String.valueOf(numeroInventario));
         } catch(java.sql.SQLException e){};
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        lbl_cod = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        lbl_fecha = new javax.swing.JTextField();
        lbl_des = new javax.swing.JTextField();
        lbl_emp = new javax.swing.JTextField();
        lbl_res = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        jPanel1.setLayout(null);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Crear Inventario"));
        jButton1.setText("Crear");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jPanel1.add(jButton1);
        jButton1.setBounds(280, 30, 90, 40);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel1.setText("Codigo:");
        jPanel1.add(jLabel1);
        jLabel1.setBounds(30, 30, 50, 14);

        lbl_cod.setFont(new java.awt.Font("Tahoma", 1, 11));
        lbl_cod.setForeground(new java.awt.Color(153, 0, 0));
        lbl_cod.setText("numero");
        jPanel1.add(lbl_cod);
        lbl_cod.setBounds(80, 30, 70, 14);

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel3.setText("Fecha:");
        jPanel1.add(jLabel3);
        jLabel3.setBounds(30, 60, 60, 14);

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel4.setText("Descripcion:");
        jPanel1.add(jLabel4);
        jLabel4.setBounds(30, 90, 70, 14);

        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel5.setText("Empleado:");
        jPanel1.add(jLabel5);
        jLabel5.setBounds(30, 120, 70, 20);

        jLabel6.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel6.setText("Responzable:");
        jPanel1.add(jLabel6);
        jLabel6.setBounds(30, 154, 90, 20);

        jPanel1.add(lbl_fecha);
        lbl_fecha.setBounds(110, 60, 140, 20);

        jPanel1.add(lbl_des);
        lbl_des.setBounds(110, 90, 140, 20);

        jPanel1.add(lbl_emp);
        lbl_emp.setBounds(110, 120, 140, 20);

        jPanel1.add(lbl_res);
        lbl_res.setBounds(110, 150, 140, 20);

        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
       
    
        //Valido que llenen todos los datos:
        if(lbl_fecha.getText().equals("")) {
            JOptionPane.showMessageDialog(this,"Los datos no han sido llenados correctamente","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }else{
            //Valido que no exista otro inventario Activo:
            ResultSet rInv=conexion.consultarBase("SELECT idInventario FROM inventario where abierto=true;");
            if(conexion.obtenerFilas(rInv)==0){
            
                //Tomo los Datos para la insercion:
            String priv;
            
            String fec=lbl_fecha.getText();
            String desc=lbl_des.getText();
            String emp=lbl_emp.getText();
            String res=lbl_res.getText();
            
            
            
            //Creo la cabecera:
            //Realizo la insercion del Cliente si es el caso:
            conexion.insertarDatos("insert into inventario values("+numeroInventario+",'"+fec+"','"+desc+"','"+emp+"','"+res+"','"+1+"','Ninguno')");
            
            //Inserto los productos del Inventario:
            ResultSet resp=conexion.consultarBase("SELECT p.cod_producto,p.cod_categoria,p.nombre,p.descripcion,p.precio_normal,p.precio_costo,i.cantidad,p.precio_distribucion  FROM producto p, itm_bodega i where p.cod_producto=i.cod_producto and i.cod_bodega="+bodega+";");
            
            try {
            while (resp.next()) {
                String codigo;
                
                    codigo = resp.getString(1);
                
                int codigoCat=resp.getInt(2);
                String nombre=resp.getString(3).toString();
                String descripcion=resp.getString(4).toString();
                double precioVent=resp.getDouble(5);
                double precioCost=resp.getDouble(6);
                int cantAct=resp.getInt(7);
                double precioDistr=resp.getDouble(8);
                
                String fecha_cont=new java.sql.Date(System.currentTimeMillis()).toString();
                
                
                conexion.insertarDatos("INSERT INTO productoinv values("+numeroInventario+",'"+codigo+"',"+codigoCat+",'"+nombre+"','"+descripcion+"',"+precioCost+","+precioVent+","+cantAct+","+0+","+precioDistr+",'"+fecha_cont+"')");
                       // c.insertarDatos("INSERT INTO itm_bodega values("+1+",'"+codigo+"',"+cantidad+","+cantMin+")");

              }
            
            } catch (Exception ex) {
                    ex.printStackTrace();
             }
            
            //cierro ventana
            uadmin.refrescar();
            this.dispose();
                
            }else{
            JOptionPane.showMessageDialog(this,"Existe Otro Inventario Activo Tiene que cerrarlo antes de abrir ","Informacion",JOptionPane.INFORMATION_MESSAGE);
            }
            
        }
        
    }//GEN-LAST:event_jButton1ActionPerformed
    
    
    
    
    /**
     * @param args the command line arguments
     
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new VentCreaInv().setVisible(true);
            }
        });
    }
    */
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel lbl_cod;
    private javax.swing.JTextField lbl_des;
    private javax.swing.JTextField lbl_emp;
    private javax.swing.JTextField lbl_fecha;
    private javax.swing.JTextField lbl_res;
    // End of variables declaration//GEN-END:variables
    
}
